﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using VisionCloud.Core.Model.Ms;
using VisionCloud.Domain.DtoModel.Ms;

namespace VisionCloud.Domain.Repository.Interface.Ms
{
    public interface IMsMeasureTemplateRepository : IBaseRepository<MsMeasureTemplate>
    {
        /// <summary>
        /// 根据户型图Id获取测量项模板信息
        /// </summary>
        /// <param name="houseMapId">户型图编号</param>
        /// <returns></returns>
        Task<List<MsMeasureTemplate>> GetList(Guid houseMapId);

        /// <summary>
        /// 根据户型图Id获取测量项模板信息
        /// </summary>
        /// <param name="houseMapId">户型图编号</param>
        /// <returns></returns>
        Task<List<MsMeasureTemplateDto>> GetMeasureTemplate(Guid houseMapId);

        ///// <summary>
        ///// 根据户型图Id获取测量项模板信息
        ///// </summary>
        ///// <param name="houseMapId">户型图编号</param>
        ///// <returns></returns>
        //Task<List<MsMeasureTemplate>> GetMeasureTemplate(Guid houseMapId);

        /// <summary>
        /// 根据户型图和站点获取人工测量项
        /// </summary>
        /// <param name="houseMapId"></param>
        /// <param name="pointId"></param>
        /// <returns></returns>
        Task<List<MeasureItem>> GetManualMeasureItem(Guid houseMapId, Guid pointId);

        Task<List<MsMeasureTemplate>> GetDataByhouseMapIds(Guid[] houseMapIds);
    }
}